SparseHash{2} representation:

5x5_falses: Bool[0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0; 0 0 0 0 0]
tensor: Tensor(SparseHash{2, Tuple{Int32, Int32}}(Element{false, Bool, Int32}(Bool[]), (5, 5), [1, 1], Dict{Tuple{Int32, Tuple{Int32, Int32}}, Int32}(), Pair{Tuple{Int32, Tuple{Int32, Int32}}, Int32}[]))
countstored: 0
5x5_trues: Bool[1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1]
tensor: Tensor(SparseHash{2, Tuple{Int32, Int32}}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), (5, 5), [1, 26], Dict{Tuple{Int32, Tuple{Int32, Int32}}, Int32}((1, (1, 1)) => 1, (1, (1, 2)) => 6, (1, (1, 3)) => 11, (1, (1, 4)) => 16, (1, (1, 5)) => 21, (1, (2, 1)) => 2, (1, (2, 2)) => 7, (1, (2, 3)) => 12, (1, (2, 4)) => 17, (1, (2, 5)) => 22, (1, (3, 1)) => 3, (1, (3, 2)) => 8, (1, (3, 3)) => 13, (1, (3, 4)) => 18, (1, (3, 5)) => 23, (1, (4, 1)) => 4, (1, (4, 2)) => 9, (1, (4, 3)) => 14, (1, (4, 4)) => 19, (1, (4, 5)) => 24, (1, (5, 1)) => 5, (1, (5, 2)) => 10, (1, (5, 3)) => 15, (1, (5, 4)) => 20, (1, (5, 5)) => 25), [(1, (1, 1)) => 1, (1, (2, 1)) => 2, (1, (3, 1)) => 3, (1, (4, 1)) => 4, (1, (5, 1)) => 5, (1, (1, 2)) => 6, (1, (2, 2)) => 7, (1, (3, 2)) => 8, (1, (4, 2)) => 9, (1, (5, 2)) => 10, (1, (1, 3)) => 11, (1, (2, 3)) => 12, (1, (3, 3)) => 13, (1, (4, 3)) => 14, (1, (5, 3)) => 15, (1, (1, 4)) => 16, (1, (2, 4)) => 17, (1, (3, 4)) => 18, (1, (4, 4)) => 19, (1, (5, 4)) => 20, (1, (1, 5)) => 21, (1, (2, 5)) => 22, (1, (3, 5)) => 23, (1, (4, 5)) => 24, (1, (5, 5)) => 25]))
countstored: 25
4x4_one_bool: Bool[0 0 0 1; 0 0 0 0; 1 0 0 0; 0 1 0 0]
tensor: Tensor(SparseHash{2, Tuple{Int32, Int32}}(Element{false, Bool, Int32}(Bool[1, 1, 1]), (4, 4), [1, 4], Dict{Tuple{Int32, Tuple{Int32, Int32}}, Int32}((1, (1, 4)) => 3, (1, (3, 1)) => 1, (1, (4, 2)) => 2), [(1, (3, 1)) => 1, (1, (4, 2)) => 2, (1, (1, 4)) => 3]))
countstored: 3
4x4_bool_mix: Bool[0 1 0 1; 0 0 0 0; 1 1 1 1; 0 1 0 1]
tensor: Tensor(SparseHash{2, Tuple{Int32, Int32}}(Element{false, Bool, Int32}(Bool[1, 1, 1, 1, 1, 1, 1, 1]), (4, 4), [1, 9], Dict{Tuple{Int32, Tuple{Int32, Int32}}, Int32}((1, (1, 2)) => 2, (1, (1, 4)) => 6, (1, (3, 1)) => 1, (1, (3, 2)) => 3, (1, (3, 3)) => 5, (1, (3, 4)) => 7, (1, (4, 2)) => 4, (1, (4, 4)) => 8), [(1, (3, 1)) => 1, (1, (1, 2)) => 2, (1, (3, 2)) => 3, (1, (4, 2)) => 4, (1, (3, 3)) => 5, (1, (1, 4)) => 6, (1, (3, 4)) => 7, (1, (4, 4)) => 8]))
countstored: 8
5x5_zeros: [0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0]
tensor: Tensor(SparseHash{2, Tuple{Int32, Int32}}(Element{0.0, Float64, Int32}(Float64[]), (5, 5), [1, 1], Dict{Tuple{Int32, Tuple{Int32, Int32}}, Int32}(), Pair{Tuple{Int32, Tuple{Int32, Int32}}, Int32}[]))
countstored: 0
5x5_ones: [1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0 1.0]
tensor: Tensor(SparseHash{2, Tuple{Int32, Int32}}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]), (5, 5), [1, 26], Dict{Tuple{Int32, Tuple{Int32, Int32}}, Int32}((1, (1, 1)) => 1, (1, (1, 2)) => 6, (1, (1, 3)) => 11, (1, (1, 4)) => 16, (1, (1, 5)) => 21, (1, (2, 1)) => 2, (1, (2, 2)) => 7, (1, (2, 3)) => 12, (1, (2, 4)) => 17, (1, (2, 5)) => 22, (1, (3, 1)) => 3, (1, (3, 2)) => 8, (1, (3, 3)) => 13, (1, (3, 4)) => 18, (1, (3, 5)) => 23, (1, (4, 1)) => 4, (1, (4, 2)) => 9, (1, (4, 3)) => 14, (1, (4, 4)) => 19, (1, (4, 5)) => 24, (1, (5, 1)) => 5, (1, (5, 2)) => 10, (1, (5, 3)) => 15, (1, (5, 4)) => 20, (1, (5, 5)) => 25), [(1, (1, 1)) => 1, (1, (2, 1)) => 2, (1, (3, 1)) => 3, (1, (4, 1)) => 4, (1, (5, 1)) => 5, (1, (1, 2)) => 6, (1, (2, 2)) => 7, (1, (3, 2)) => 8, (1, (4, 2)) => 9, (1, (5, 2)) => 10, (1, (1, 3)) => 11, (1, (2, 3)) => 12, (1, (3, 3)) => 13, (1, (4, 3)) => 14, (1, (5, 3)) => 15, (1, (1, 4)) => 16, (1, (2, 4)) => 17, (1, (3, 4)) => 18, (1, (4, 4)) => 19, (1, (5, 4)) => 20, (1, (1, 5)) => 21, (1, (2, 5)) => 22, (1, (3, 5)) => 23, (1, (4, 5)) => 24, (1, (5, 5)) => 25]))
countstored: 25
5x5_float_mix: [0.0 1.0 2.0 2.0 3.0; 0.0 0.0 0.0 0.0 0.0; 1.0 1.0 2.0 0.0 0.0; 0.0 0.0 0.0 3.0 0.0; 0.0 0.0 0.0 0.0 0.0]
tensor: Tensor(SparseHash{2, Tuple{Int32, Int32}}(Element{0.0, Float64, Int32}([1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0]), (5, 5), [1, 9], Dict{Tuple{Int32, Tuple{Int32, Int32}}, Int32}((1, (1, 2)) => 2, (1, (1, 3)) => 4, (1, (1, 4)) => 6, (1, (1, 5)) => 8, (1, (3, 1)) => 1, (1, (3, 2)) => 3, (1, (3, 3)) => 5, (1, (4, 4)) => 7), [(1, (3, 1)) => 1, (1, (1, 2)) => 2, (1, (3, 2)) => 3, (1, (1, 3)) => 4, (1, (3, 3)) => 5, (1, (1, 4)) => 6, (1, (4, 4)) => 7, (1, (1, 5)) => 8]))
countstored: 8

